package com.Abstract抽象类;

public class 定义 {
    /**  当父类的某些方法需要声明但又不确定如何实现时 可以将其声明为抽象方法那么这个类就是抽象类 让子类去重写实现   */
}

abstract class Animal {
    private String name;

    public Animal(String name) {
        this.name = name;
    }


//    public void eat()
//    {
//        System.out.println("这是一个动物，但是目前不知道吃什么");
//    }
    //思考一下：这里有eat方法，但是具体吃什么由  子类  去实现，所以这个方法没有什么用处；
    //即：父类方法有不确定性的问题；
    // 所以，这个方法可以声明为抽象方法，让子类去实现
    //所谓抽象方法就是没有实现的方法 即  :没有方法体 ;
    public abstract void eat();  // 抽象方法
    //一旦类中存在抽像方法时，这个类也必须声明为abstract类  ==> 抽象类

}